這時候考慮到後續的需求擴充,我們可以引入 Redux 對我們的資料進行集中管理。
這邊先簡單介紹一下 Redux,這是一個狀態管理工具,雖然常用於 React,但使用場景不限於 React,其中主要會有幾種資料,
type
屬性,用來描述事件。經過上面的介紹之後,我們可以知道Redux的流程就會是
觸發Action => Reducer開始執行 => 獲得新的State => 更新store
接下來我們就可以開始為我們的專案加上Redux了。
首先先透過這段code安裝redux
yarn add react-redux
yarn add @reduxjs/toolkit
然後我們需要建立一個redux資料夾,其中包含一個store.js的檔案 & slices的資料夾,Slice我們可以將他理解為其中一組資料,我們可以透過slice將不同的資料做區分。
接下來我們就可以開始寫我們的todoSlice了。
首先我們需要引入createSlice
這個method。
import { createSlice } from "@reduxjs/toolkit";
接下來我們開始寫這個slice的本體
const todoSlice = createSlice({
name: "todo",
initialState: [],
reducers: {
},
});
這邊可以看到,我們的這個slice的名稱是todo
,並且初始狀態會是一個空array,最後在reducers的部分,我們會將前面寫過的邏輯加進去。